<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="keywords" content="豪王笔记,斐波拉契,豪王,笔记">
  <meta name="description" content="豪王笔记，唯我独尊 ~ " itemprop="description">
  <link rel="icon" href="./favicon.ico">
  <title>测试一号</title>
  <style>
    body {
      cursor: pointer;
    }
  </style>
</head>

<body style="padding: 20px;overflow-x: hidden;">
  <div>
    <h2>
      <span>PC端与移动端样式差别</span>
      <div>cursor: point;会使元素在移动端点击时产生半透明蓝色背景</div>
    </h2>
    <h2>
      <span>浏览器跨域知识自述</span>
    </h2>
    <div>
      跨域知识科普：跨域是浏览器与服务器之间设置的屏障，相当于代码层面的防火墙。控制跨域的主动权在服务器，可以是*也可以是请求地址
    </div>
    <h2>
      <a href="https://www.jb51.net/article/155492.htm">pm2配置地址:</a>
      <span>(https://www.jb51.net/article/155492.htm)</span>
      <span>(pm2 deploy ecosystem.config.js production setup)</span>
    </h2>
    <h2>
      <a href="https://github.com/Luka967/websocket-close-codes">ws各种code:</a>
      <span>(https://github.com/Luka967/websocket-close-codes)</span>
    </h2>
    <h2>
      <a href="https://www.autopiano.cn/">自由钢琴:</a>
      <span>(https://www.autopiano.cn/)</span>
    </h2>
    <h2>
      <a href="https://www.icann.org/registrar-reports/accredited-list.html">域名买卖</a>
      <span>（https://www.icann.org/registrar-reports/accredited-list.html）</span>
    </h2>
    <h2>
      <a href="https://blog.csdn.net/wx11408115/article/details/78032443">nodejs下scss</a>
      <span>（https://blog.csdn.net/wx11408115/article/details/78032443）</span>
    </h2>
    <div>
      <p>ajax返回状态码</p>
      3-AJAX状态码说明


      1**：请求收到，继续处理
      2**：操作成功收到，分析、接受
      3**：完成此请求必须进一步处理
      4**：请求包含一个错误语法或不能完成
      5**：服务器执行一个完全有效请求失败
      100——客户必须继续发出请求
      101——客户要求服务器根据请求转换HTTP协议版本
      200——交易成功
      201——提示知道新文件的URL
      202——接受和处理、但处理未完成
      203——返回信息不确定或不完整
      204——请求收到，但返回信息为空
      205——服务器完成了请求，用户代理必须复位当前已经浏览过的文件
      206——服务器已经完成了部分用户的GET请求
      300——请求的资源可在多处得到
      301——删除请求数据
      302——在其他地址发现了请求数据
      303——建议客户访问其他URL或访问方式
      304——客户端已经执行了GET，但文件未变化
      305——请求的资源必须从服务器指定的地址得到
      306——前一版本HTTP中使用的代码，现行版本中不再使用
      307——申明请求的资源临时性删除
      400——错误请求，如语法错误
      401——请求授权失败
      402——保留有效ChargeTo头响应
      403——请求不允许
      404——没有发现文件、查询或URl
      405——用户在Request-Line字段定义的方法不允许
      406——根据用户发送的Accept拖，请求资源不可访问
      407——类似401，用户必须首先在代理服务器上得到授权
      408——客户端没有在用户指定的饿时间内完成请求
      409——对当前资源状态，请求不能完成
      410——服务器上不再有此资源且无进一步的参考地址
      411——服务器拒绝用户定义的Content-Length属性请求
      412——一个或多个请求头字段在当前请求中错误
      413——请求的资源大于服务器允许的大小
      414——请求的资源URL长于服务器允许的长度
      415——请求资源不支持请求项目格式
      416——请求中包含Range请求头字段，在当前请求资源范围内没有range指示值，请求也不包含If-Range请求头字段
      417——服务器不满足请求Expect头字段指定的期望值，如果是代理服务器，可能是下一级服务器不能满足请求
      500——服务器产生内部错误
      501——服务器不支持请求的函数
      502——服务器暂时不可用，有时是为了防止发生系统过载
      503——服务器过载或暂停维修
      504——关口过载，服务器使用另一个关口或服务来响应用户，等待时间设定值较长
      505——服务器不支持或拒绝支请求头中指定的HTTP版本
    </div>
    <h2>
      <a href="https://blog.csdn.net/zzqhello2018/article/details/96720362">sql更换密码</a>
      <span>(https://blog.csdn.net/zzqhello2018/article/details/96720362)</span>
    </h2>
    <h2>
      <a
        href="https://mp.weixin.qq.com/s?__biz=MzI5MjUxNjA4Mw==&mid=2247485017&idx=1&sn=d4f78628fcb14efdbf4ab66cffdd8bd0&chksm=ec017fc5db76f6d37669ca47b2e67e54d93925842afaba6ada2e0ced7cd3f98f729bbd207971&scene=21#wechat_redirect">面试题1</a>
      <span>(https://mp.weixin.qq.com/s?__biz=MzI5MjUxNjA4Mw==&mid=2247485017&idx=1&sn=d4f78628fcb14efdbf4ab66cffdd8bd0&chksm=ec017fc5db76f6d37669ca47b2e67e54d93925842afaba6ada2e0ced7cd3f98f729bbd207971&scene=21#wechat_redirect)</span>
    </h2>
    <h2>
      <a href="https://www.nowcoder.com/tutorial/96/4700c6f1f3334c9191a38406002efa65">牛客面试题</a>
      <span>(https://www.nowcoder.com/tutorial/96/4700c6f1f3334c9191a38406002efa65)</span>
    </h2>
    <h2>
      <span>设计一个算法找到乱序数组中相加等于指定值的所有数对</span>
      <textarea id="d1" style="display: block;width: 100%;height: 200px;"></textarea>
    </h2>
    <h2>
      <span>倒计时</span>
      <textarea id="d2" style="display: block;width: 100%;height: 200px;"></textarea>
    </h2>
    <h2>
      <span>豪王数列</span>
      <textarea id="d3" style="display: block;width: 100%;height: 200px;"></textarea>
    </h2>
    <h2>
      <span>在一个最大长度200000的数组中，分别求出长度从1到n的子序列中最大值的最小值</span>
      <textarea id="d4" style="display: block;width: 100%;height: 200px;"></textarea>
    </h2>
    <h2>
      <span>一个绝对公平的洗牌算法</span>
      <textarea id="d6" style="display: block;width: 100%;height: 200px;"></textarea>
    </h2>
    <h2>
      <span>非递归遍历树</span>
      <textarea id="d7" style="display: block;width: 100%;height: 200px;"></textarea>
    </h2>
    <h2>
      <span>算法题：老师分饼干，每个孩子只能得到一块饼干，但每个孩子想要的饼干大小不尽相同。目标是尽量让更多的孩子满意。如孩子的要求是 1, 3, 5, 4, 2，饼干是1, 1，最多能让1个孩子满足。如孩子的要求是 10,
        9, 8, 7, 6，饼干是7, 6, 5，最多能让2个孩子满足。</span>
    </h2>
    <p>解释：以题型之意，即是在一个可能出现重复值的数组中为其分配最接近的键，可通过数组筛选的形式为其分配到目标数组中，饼干数可能多于小朋友的数量，也可能少于小朋友的数量。
      其中每个孩子只能分得一块饼干，那么就可能需要为了公平性用到随机数。参考答案如下</p>
    <div>
      <textarea id="d8" style="display: block;width: 100%;height: 200px;"></textarea>
    </div>
    <h2>
      <span>判断一个数由那几个数相乘而得</span>
      <textarea id="d9" style="display: block;width: 100%;height: 200px;"></textarea>
    </h2>
    <h2>
      <span>永久激活Windows</span>
      <a href="./zip/Win10数字激活.zip" target="zip">点击下载（https://www.luoschool.cn）</a>
    </h2>
    <h2>
      <span>合并数组</span>
      <span>Object.assign({/* obj1 */},{/* obj2 */})</span>
    </h2>
    <h2>
      <span>免费ssr节点、账号密码</span>
      <img src="./static/1576135470638119.png" alt="这是一张图片" style="width: 100px;height: 100px;">
    </h2>
    <h2>
      <span>wss 状态码</span>
      <div>0–999 保留段, 未使用.
        1000 CLOSE_NORMAL 正常关闭; 无论为何目的而创建, 该链接都已成功完成任务.
        1001 CLOSE_GOING_AWAY 终端离开, 可能因为服务端错误, 也可能因为浏览器正从打开连接的页面跳转离开.
        1002 CLOSE_PROTOCOL_ERROR 由于协议错误而中断连接.
        1003 CLOSE_UNSUPPORTED 由于接收到不允许的数据类型而断开连接 (如仅接收文本数据的终端接收到了二进制数据).
        1004 保留. 其意义可能会在未来定义.
        1005 CLOSE_NO_STATUS 保留. 表示没有收到预期的状态码.
        1006 CLOSE_ABNORMAL 保留. 用于期望收到状态码时连接非正常关闭 (也就是说, 没有发送关闭帧).
        1007 Unsupported Data 由于收到了格式不符的数据而断开连接 (如文本消息中包含了非 UTF-8 数据).
        1008 Policy Violation 由于收到不符合约定的数据而断开连接. 这是一个通用状态码, 用于不适合使用 1003 和 1009 状态码的场景.
        1009 CLOSE_TOO_LARGE 由于收到过大的数据帧而断开连接.
        1010 Missing Extension 客户端期望服务器商定一个或多个拓展, 但服务器没有处理, 因此客户端断开连接.
        1011 Internal Error 客户端由于遇到没有预料的情况阻止其完成请求, 因此服务端断开连接.
        1012 Service Restart 服务器由于重启而断开连接.
        1013 Try Again Later 服务器由于临时原因断开连接, 如服务器过载因此断开一部分客户端连接.
        1014 由 WebSocket标准保留以便未来使用.
        1015 TLS Handshake 保留. 表示连接由于无法完成 TLS 握手而关闭 (例如无法验证服务器证书).
        1016–1999 由 WebSocket标准保留以便未来使用.
        2000–2999 由 WebSocket拓展保留使用.
        3000–3999 可以由库或框架使用.? 不应由应用使用. 可以在 IANA 注册, 先到先得.
        4000–4999 可以由应用使用.</div>
    </h2>
    <h2>
      <span>查看域名尾部</span>
      <a href="./yuming.txt">（http://luoschool.cn）</a>
    </h2>
    <h2>
      <span>大厂前端校招知识体系</span>
      <a href="./zstx.webp">（http://luoschool.cn）</a>
    </h2>
    <h2>
      <span>sql进阶</span>
      <a
        href="https://blog.csdn.net/weixin_45108087/article/details/102766281">（https://blog.csdn.net/weixin_45108087/article/details/102766281）</a>
    </h2>
    <h2>
      <span>vue日历组件</span>
      <a href="https://segmentfault.com/a/1190000015382208">（https://segmentfault.com/a/1190000015382208）</a>
    </h2>
    <h2>
      <span>分片上传</span>
      <a href="https://www.cnblogs.com/dearxinli/p/8422140.html">（https://www.cnblogs.com/dearxinli/p/8422140.html）</a>
    </h2>
    <h2>
      <span>css高度计算</span>
      <span>min-height: calc(100vh - 50px);</span>
    </h2>
    <h2>
      <span>编辑器</span>
      <span>mavon-editor</span>
    </h2>
    <h2>
      <span>Vue/cli 3.0 配置</span>
      <a href="https://cli.vuejs.org/zh/config/#pluginoptions">https://cli.vuejs.org/zh/config/#pluginoptions</a>
    </h2>
    <h2>
      <span>自动部署git</span>
      <a
        href="https://blog.csdn.net/qq_39940866/article/details/82699378">https://blog.csdn.net/qq_39940866/article/details/82699378</a>
    </h2>
    <h2>
      <span>低版本重启nginx</span>
      <span>./nginx -s reload</span>
    </h2>
    <h2>
      <span>IP地址查询</span>
      <input type="text" onchange="handleChangeIP(this)">
    </h2>
    <h2>
      <span>git分支</span>
      <div>查看分支：git branch
        <br>
        创建分支：git branch <name>
          <br>
          切换分支：git checkout <name>或者git switch <name>
              <br>
              创建+切换分支：git checkout -b <name>或者git switch -c <name>
                  <br>
                  合并某分支到当前分支：git merge <name>
                    <br>
                    删除分支：git branch -d <name>
      </div>
    </h2>
    <h2>
      <span>视频video的各种方法</span>
      <a href="./video_info.html">点击进入</a>
    </h2>
    <h2>
      <span>监听下载</span>
      <a href="./download.html">点击进入</a>
    </h2>
    <h2>
      <span>npm设置淘宝镜像</span>
      <div>
        npm config set registry https://registry.npm.taobao.org
      </div>
    </h2>
    <h2>
      <span>npm取消淘宝镜像</span>
      <div>
        npm config set registry https://registry.npmjs.org
      </div>
    </h2>
    <h2>
      <span>html写直播</span>
      <div>
        <a href="https://www.jb51.net/html5/587215.html">(https://www.jb51.net/html5/587215.html)</a>
      </div>
      <div>
        <a
          href="https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/getUserMedia">https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/getUserMedia</a>
      </div>
      <div>
        // Prefer camera resolution nearest to 1280x720.
        var constraints = { audio: true, video: { width: 1280, height: 720 } };

        navigator.mediaDevices.getUserMedia(constraints)
        .then(function(mediaStream) {
        var video = document.querySelector('video');
        video.srcObject = mediaStream;
        video.onloadedmetadata = function(e) {
        video.play();
        };
        })
        .catch(function(err) { console.log(err.name + ": " + err.message); });
      </div>
    </h2>
    <h2>
      <span>唯一文件</span>
      <div>
        var input = document.querySelector('input');
        input.addEventListener('change', function () {
        var file= this.files[0];
        var reader = new FileReader();
        reader.readAsArrayBuffer(file);
        reader.addEventListener('load',function (e) {
        var buffer = e.target.result;
        var md = md5(buffer);
        console.log(md);
        });
        });
      </div>
    </h2>
  </div>
  <div style="position: fixed;bottom: 0;left: 0;width: 100%;background: #fff;padding: 20px 0;text-align: center;"><a
      href="http://beian.miit.gov.cn" style="text-decoration: none;font-size: 20px;">蜀ICP备18036591号-4</a></div>
  <script src="./js/calculation.js"></script>
  <script src="./js/work.js"></script>
  <script>
    document.getElementById('d1').value = sumPair.toString()
    document.getElementById('d2').value = timeOut.toString()
    document.getElementById('d3').value = haowang.toString()
    document.getElementById('d4').value = arrayPeak.toString()
    document.getElementById('d6').value = makePack.toString()
    document.getElementById('d7').value = ergodicTree.toString()
    document.getElementById('d8').value = getCracker.toString()
    document.getElementById('d9').value = getMultipication.toString()
    function handleChangeIP({ value }) {
      window.open('http://ip-api.com/json/' + value + '?lang=zh-CN')
    }
  </script>
</body>

</html>